<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="generator" content="rustdoc">
    <meta name="description" content="API documentation for the Rust `MQTTAsync_SSLOptions` struct in crate `paho_mqtt3as_sys`.">
    <meta name="keywords" content="rust, rustlang, rust-lang, MQTTAsync_SSLOptions">

    <title>paho_mqtt3as_sys::MQTTAsync_SSLOptions - Rust</title>

    <link rel="stylesheet" type="text/css" href="../normalize.css">
    <link rel="stylesheet" type="text/css" href="../rustdoc.css">
    <link rel="stylesheet" type="text/css" href="../main.css">
    

    
    
</head>
<body class="rustdoc struct">
    <!--[if lte IE 8]>
    <div class="warning">
        This old browser is unsupported and will most likely display funky
        things.
    </div>
    <![endif]-->

    

    <nav class="sidebar">
        
        <p class='location'>Struct MQTTAsync_SSLOptions</p><div class="block items"><ul><li><a href="#fields">Fields</a></li><li><a href="#implementations">Trait Implementations</a></li></ul></div><p class='location'><a href='index.html'>paho_mqtt3as_sys</a></p><script>window.sidebarCurrent = {name: 'MQTTAsync_SSLOptions', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script>
    </nav>

    <nav class="sub">
        <form class="search-form js-only">
            <div class="search-container">
                <input class="search-input" name="search"
                       autocomplete="off"
                       placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
                       type="search">
            </div>
        </form>
    </nav>

    <section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>paho_mqtt3as_sys</a>::<wbr><a class="struct" href=''>MQTTAsync_SSLOptions</a></span><span class='out-of-band'><span id='render-detail'>
                   <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
                       [<span class='inner'>&#x2212;</span>]
                   </a>
               </span><a class='srclink' href='../src/paho_mqtt3as_sys/home/fmp/mqtt/paho-rust/target/debug/build/paho-mqtt3as-sys-8520fd8db5dd3f65/out/bindings.rs.html#2056-2080' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'><div class="docblock attributes">#[repr(C)]
</div>pub struct MQTTAsync_SSLOptions {
    pub struct_id: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_char.html" title="type std::os::raw::c_char">c_char</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 4]</a>,
    pub struct_version: <a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_int.html" title="type std::os::raw::c_int">c_int</a>,
    pub trustStore: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_char.html" title="type std::os::raw::c_char">c_char</a>,
    pub keyStore: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_char.html" title="type std::os::raw::c_char">c_char</a>,
    pub privateKey: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_char.html" title="type std::os::raw::c_char">c_char</a>,
    pub privateKeyPassword: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_char.html" title="type std::os::raw::c_char">c_char</a>,
    pub enabledCipherSuites: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_char.html" title="type std::os::raw::c_char">c_char</a>,
    pub enableServerCertAuth: <a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_int.html" title="type std::os::raw::c_int">c_int</a>,
}</pre><div class='docblock'><p>MQTTAsync_sslProperties defines the settings to establish an SSL/TLS connection using the
OpenSSL library. It covers the following scenarios:
- Server authentication: The client needs the digital certificate of the server. It is included
in a store containting trusted material (also known as &quot;trust store&quot;).
- Mutual authentication: Both client and server are authenticated during the SSL handshake. In
addition to the digital certificate of the server in a trust store, the client will need its own
digital certificate and the private key used to sign its digital certificate stored in a &quot;key store&quot;.
- Anonymous connection: Both client and server do not get authenticated and no credentials are needed
to establish an SSL connection. Note that this scenario is not fully secure since it is subject to
man-in-the-middle attacks.</p>
</div><h2 id='fields' class='fields'>Fields</h2><span id='structfield.struct_id' class="structfield">
                           <span id='struct_id.v' class='invisible'>
                           <code>struct_id: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_char.html" title="type std::os::raw::c_char">c_char</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 4]</a></code>
                           </span></span><div class='docblock'><p>The eyecatcher for this structure.  Must be MQTS</p>
</div><span id='structfield.struct_version' class="structfield">
                           <span id='struct_version.v' class='invisible'>
                           <code>struct_version: <a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_int.html" title="type std::os::raw::c_int">c_int</a></code>
                           </span></span><div class='docblock'><p>The version number of this structure.  Must be 0</p>
</div><span id='structfield.trustStore' class="structfield">
                           <span id='trustStore.v' class='invisible'>
                           <code>trustStore: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_char.html" title="type std::os::raw::c_char">c_char</a></code>
                           </span></span><div class='docblock'><p>The file in PEM format containing the public digital certificates trusted by the client.</p>
</div><span id='structfield.keyStore' class="structfield">
                           <span id='keyStore.v' class='invisible'>
                           <code>keyStore: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_char.html" title="type std::os::raw::c_char">c_char</a></code>
                           </span></span><div class='docblock'><p>The file in PEM format containing the public certificate chain of the client. It may also include
the client&#39;s private key.</p>
</div><span id='structfield.privateKey' class="structfield">
                           <span id='privateKey.v' class='invisible'>
                           <code>privateKey: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_char.html" title="type std::os::raw::c_char">c_char</a></code>
                           </span></span><div class='docblock'><p>If not included in the sslKeyStore, this setting points to the file in PEM format containing
the client&#39;s private key.</p>
</div><span id='structfield.privateKeyPassword' class="structfield">
                           <span id='privateKeyPassword.v' class='invisible'>
                           <code>privateKeyPassword: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_char.html" title="type std::os::raw::c_char">c_char</a></code>
                           </span></span><div class='docblock'><p>The password to load the client&#39;s privateKey if encrypted.</p>
</div><span id='structfield.enabledCipherSuites' class="structfield">
                           <span id='enabledCipherSuites.v' class='invisible'>
                           <code>enabledCipherSuites: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_char.html" title="type std::os::raw::c_char">c_char</a></code>
                           </span></span><div class='docblock'><p>The list of cipher suites that the client will present to the server during the SSL handshake. For a
full explanation of the cipher list format, please see the OpenSSL on-line documentation:
<a href="http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT">http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT</a>
If this setting is ommitted, its default value will be &quot;ALL&quot;, that is, all the cipher suites -excluding
those offering no encryption- will be considered.
This setting can be used to set an SSL anonymous connection (&quot;aNULL&quot; string value, for instance).</p>
</div><span id='structfield.enableServerCertAuth' class="structfield">
                           <span id='enableServerCertAuth.v' class='invisible'>
                           <code>enableServerCertAuth: <a class="type" href="https://doc.rust-lang.org/nightly/std/os/raw/type.c_int.html" title="type std::os::raw::c_int">c_int</a></code>
                           </span></span><div class='docblock'><p>True/False option to enable verification of the server certificate</p>
</div><h2 id='implementations'>Trait Implementations</h2><h3 class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../paho_mqtt3as_sys/struct.MQTTAsync_SSLOptions.html" title="struct paho_mqtt3as_sys::MQTTAsync_SSLOptions">MQTTAsync_SSLOptions</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/paho_mqtt3as_sys/home/fmp/mqtt/paho-rust/target/debug/build/paho-mqtt3as-sys-8520fd8db5dd3f65/out/bindings.rs.html#2055' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&amp;self, __arg_0: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span></h4>
<div class='docblock'><p>Formats the value using the given formatter.</p>
</div></div><h3 class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../paho_mqtt3as_sys/struct.MQTTAsync_SSLOptions.html" title="struct paho_mqtt3as_sys::MQTTAsync_SSLOptions">MQTTAsync_SSLOptions</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/paho_mqtt3as_sys/home/fmp/mqtt/paho-rust/target/debug/build/paho-mqtt3as-sys-8520fd8db5dd3f65/out/bindings.rs.html#2055' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'></div><h3 class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../paho_mqtt3as_sys/struct.MQTTAsync_SSLOptions.html" title="struct paho_mqtt3as_sys::MQTTAsync_SSLOptions">MQTTAsync_SSLOptions</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/paho_mqtt3as_sys/home/fmp/mqtt/paho-rust/target/debug/build/paho-mqtt3as-sys-8520fd8db5dd3f65/out/bindings.rs.html#2133-2135' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&amp;self) -&gt; Self</code></span></h4>
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&amp;mut self, source: &amp;Self)</code><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div></span></h4>
<div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></div><h3 class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../paho_mqtt3as_sys/struct.MQTTAsync_SSLOptions.html" title="struct paho_mqtt3as_sys::MQTTAsync_SSLOptions">MQTTAsync_SSLOptions</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/paho_mqtt3as_sys/lib.rs.html#91-104' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.default' class="method"><span id='default.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default' class='fnname'>default</a>() -&gt; <a class="struct" href="../paho_mqtt3as_sys/struct.MQTTAsync_SSLOptions.html" title="struct paho_mqtt3as_sys::MQTTAsync_SSLOptions">MQTTAsync_SSLOptions</a></code></span></h4>
<div class='docblock'><p>Returns the &quot;default value&quot; for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
</div></div></section>
    <section id='search' class="content hidden"></section>

    <section class="footer"></section>

    <aside id="help" class="hidden">
        <div>
            <h1 class="hidden">Help</h1>

            <div class="shortcuts">
                <h2>Keyboard Shortcuts</h2>

                <dl>
                    <dt>?</dt>
                    <dd>Show this help dialog</dd>
                    <dt>S</dt>
                    <dd>Focus the search field</dd>
                    <dt>&larrb;</dt>
                    <dd>Move up in search results</dd>
                    <dt>&rarrb;</dt>
                    <dd>Move down in search results</dd>
                    <dt>&#9166;</dt>
                    <dd>Go to active search result</dd>
                    <dt>+</dt>
                    <dd>Collapse/expand all sections</dd>
                </dl>
            </div>

            <div class="infos">
                <h2>Search Tricks</h2>

                <p>
                    Prefix searches with a type followed by a colon (e.g.
                    <code>fn:</code>) to restrict the search to a given type.
                </p>

                <p>
                    Accepted types are: <code>fn</code>, <code>mod</code>,
                    <code>struct</code>, <code>enum</code>,
                    <code>trait</code>, <code>type</code>, <code>macro</code>,
                    and <code>const</code>.
                </p>

                <p>
                    Search functions by type signature (e.g.
                    <code>vec -> usize</code> or <code>* -> vec</code>)
                </p>
            </div>
        </div>
    </aside>

    

    <script>
        window.rootPath = "../";
        window.currentCrate = "paho_mqtt3as_sys";
    </script>
    <script src="../main.js"></script>
    <script defer src="../search-index.js"></script>
</body>
</html>